SlideShare a Scribd company logo
1 of 12
An http Header for Metadata
Schema Negotiation
Lars G. Svensson
| 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 20161
2
Why is Profile Negotiation Necessary?
| 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
PhotobyEricKilby(CCBY-SA):https://flic.kr/p/6qrXw3
Photobymario(CCBY):https://flic.kr/p/ceSRwU
The profile you expected The profile you got
3 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
– Profile in Accept-/Content-Type-headers (RFC 7231)
– Link-header with rel=“profile” (RFC 6906)
– Link-header with profile-parameter (RFC 5988)
– Prefer-/Preference-Applied-headers (RFC 7240)
– Accept-Schema-/Schema-headers (yet to be specified)
I have looked at five options
4 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
GET /some/resource HTTP/1.1
Accept: text/turtle;q=0.9;profile=”urn:example:profile-1”,
text/turtle;q=0.7;profile=”urn:example:profile-2”
HTTP/1.1 200 OK
Content-Type: text/turtle; profile=”urn:example:profile-2”
Profile in Accept-/Content-Type-headers
(RFC 7231)
5 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
HEAD /some/other/resource HTTP/1.1
Accept: text/turtle;q=0.9,application/rdf+xml;q=0.5
Link: <http://example.com/profile-1>; rel=”profile”
HTTP/1.1 200 OK
Content-type: text/turtle
Link: <http://example.com/profile-1>; rel=”profile”
Link-header with rel=“profile” (RFC 6906)
| 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
GET /another/thing HTTP/1.1
Accept: application/xml
Link: <urn:example:profiles:schema-2>; rel=”profile”
HTTP/1.1 200 OK
Link: <http://example.org/another/thing>;
rel=”self”;
type=”application/xml”
profile=”urn:example:profiles:schema-2”
Link-header (RFC 5988 with new parameter
“profile”)
6
7 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
HEAD /this/or/that HTTP/1.1
Accept: application/xml
Prefer: profile=<urn:example:some:schema>
HTTP/1.1 200 OK
Content-Type: application/xml
Preference-Applied: profile=<urn:example:some:schema>
Prefer- and Preference-Applied-headers
8 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
GET /final/resource
Accept: application/rdf+xml; q=0.9, text/turtle; q=0.5
Accept-Schema: <http://example.org/shacl/shape-1>; q=0.9,
<http://example.org/shacl/shape-2>; q=0.5
HTTP/1.1 200 OK
Content-Type: application/rdf+xml
Schema: <http://example.org/shacl/shape-2>
Accept-Schema- and Schema-headers
9 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
Pro Con
Accept/Content-Type
+ Profile
 No header registration
necessary
 Requires registration
of profile parameter
for each content-type
 q-value only available
for each combination
of content-type and
profile
Link: rel=”profile”
(RFC 6906)
 No header, parameter
or relation type
registration necessary
 q-values not
supported
 does not support
multiple combinations
of namespace+profile
Link: profile=”…” (RFC
5988)
 No header registration
necessary
 q-values not
supported
 different use in
request and response
 does not support
multiple combinations
of namespace+profile
in request
Now we can look at the consequences
10 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
Pro Con
Prefer/Preference-
Applied
 No header registration
necessary
 Supports combination
of multiple
namespace+profile-
combinations
 q-values not
supported
 not clear if absence of
“Preference-Applied”
was because server
does not understand
“Prefer” or because it
did not honour the
preference stated
 requires registration
of “profile” preference
Accept-
Schema/Schema
 Supports q-values
 fits nicely into content
negotiation framework
 supports combination
of multiple
namespace+profile-
combinations

 Requires registration
of new http-headers
… and more consequences
11 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
– None of the options is perfect (features vs work)
– In order to perform proper content negotiation, we need q-
values
– In any case we need to figure out, how to deal with multiple
profiles and with combinations of namespaces and schemas
My recommendation is a new header
12 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016
And now I look forward to the discussion!
Photobystevensim(CCBY-SA):https://flic.kr/p/8AnKhp

More Related Content

Similar to An http Header for Metadata Schema Negotiation

DAMA-Chicago-Dec-2017.pptx
DAMA-Chicago-Dec-2017.pptxDAMA-Chicago-Dec-2017.pptx
DAMA-Chicago-Dec-2017.pptxcayiycay
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayGaurav Ahluwalia
 
Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)
Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)
Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)EvaEisenmann
 
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013Jasper Oosterveld
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fuseboxnascomgenk
 
Leverage Search and Customize to your Brand within SharePoint 2010
Leverage Search and Customize to your Brand within SharePoint 2010Leverage Search and Customize to your Brand within SharePoint 2010
Leverage Search and Customize to your Brand within SharePoint 2010Chaitu Madala
 
Introduction to html & css
Introduction to html & cssIntroduction to html & css
Introduction to html & csssesharao puvvada
 
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)Gus Fraser
 
Inside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions ArchitectInside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions ArchitectNoorez Khamis
 
GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4guestecacad2
 
ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4Martin Hepp
 
Building fast track external facing sharepoint site
Building fast track external facing sharepoint siteBuilding fast track external facing sharepoint site
Building fast track external facing sharepoint siteManish Rawat
 
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdfWorking with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdfPanduM7
 
Search engine based on Elasticsearch
Search engine based on ElasticsearchSearch engine based on Elasticsearch
Search engine based on ElasticsearchRadek Baczynski
 
Create Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display TemplatesCreate Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display TemplatesMichael Oryszak
 
RFC 7807 - Communicating the Problem
RFC 7807 - Communicating the ProblemRFC 7807 - Communicating the Problem
RFC 7807 - Communicating the ProblemAmandeep Midha
 
SAP BI with BO from LCC Infotech,Hyderabad
SAP BI with BO from LCC Infotech,HyderabadSAP BI with BO from LCC Infotech,Hyderabad
SAP BI with BO from LCC Infotech,Hyderabadlccinfotech
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tipsSPC Adriatics
 
SAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesSAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesPatrick Spedding
 
QMS SharePoint Wireframe - download and edit for you use
QMS SharePoint Wireframe - download and edit for you useQMS SharePoint Wireframe - download and edit for you use
QMS SharePoint Wireframe - download and edit for you useMelissa Jones
 

Similar to An http Header for Metadata Schema Negotiation (20)

DAMA-Chicago-Dec-2017.pptx
DAMA-Chicago-Dec-2017.pptxDAMA-Chicago-Dec-2017.pptx
DAMA-Chicago-Dec-2017.pptx
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gateway
 
Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)
Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)
Quick-Start for BW implementations of Topic IFRS16 (SAP Real Estate Management)
 
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
 
Leverage Search and Customize to your Brand within SharePoint 2010
Leverage Search and Customize to your Brand within SharePoint 2010Leverage Search and Customize to your Brand within SharePoint 2010
Leverage Search and Customize to your Brand within SharePoint 2010
 
Introduction to html & css
Introduction to html & cssIntroduction to html & css
Introduction to html & css
 
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
 
Inside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions ArchitectInside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions Architect
 
GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4
 
ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4
 
Building fast track external facing sharepoint site
Building fast track external facing sharepoint siteBuilding fast track external facing sharepoint site
Building fast track external facing sharepoint site
 
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdfWorking with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdf
 
Search engine based on Elasticsearch
Search engine based on ElasticsearchSearch engine based on Elasticsearch
Search engine based on Elasticsearch
 
Create Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display TemplatesCreate Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display Templates
 
RFC 7807 - Communicating the Problem
RFC 7807 - Communicating the ProblemRFC 7807 - Communicating the Problem
RFC 7807 - Communicating the Problem
 
SAP BI with BO from LCC Infotech,Hyderabad
SAP BI with BO from LCC Infotech,HyderabadSAP BI with BO from LCC Infotech,Hyderabad
SAP BI with BO from LCC Infotech,Hyderabad
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tips
 
SAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesSAS/Cognos Integration Approaches
SAS/Cognos Integration Approaches
 
QMS SharePoint Wireframe - download and edit for you use
QMS SharePoint Wireframe - download and edit for you useQMS SharePoint Wireframe - download and edit for you use
QMS SharePoint Wireframe - download and edit for you use
 

More from Lars G. Svensson

Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...
Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...
Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...Lars G. Svensson
 
IFLA LIDASIG Open Session 2017: Introduction to Linked Data
IFLA LIDASIG Open Session 2017: Introduction to Linked DataIFLA LIDASIG Open Session 2017: Introduction to Linked Data
IFLA LIDASIG Open Session 2017: Introduction to Linked DataLars G. Svensson
 
Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...
Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...
Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...Lars G. Svensson
 
Relations matter: Maintaining and Publishing Links in Library Metadata
Relations matter: Maintaining and Publishing Links in Library Metadata Relations matter: Maintaining and Publishing Links in Library Metadata
Relations matter: Maintaining and Publishing Links in Library Metadata Lars G. Svensson
 
Our Standards vs Their Standards
Our Standards vs Their StandardsOur Standards vs Their Standards
Our Standards vs Their StandardsLars G. Svensson
 
Bibliotheksdatenpublikation und linked data
Bibliotheksdatenpublikation und linked dataBibliotheksdatenpublikation und linked data
Bibliotheksdatenpublikation und linked dataLars G. Svensson
 
Jusqu'où l'interopérabilité est-elle nécessaire?
Jusqu'où l'interopérabilité est-elle nécessaire?Jusqu'où l'interopérabilité est-elle nécessaire?
Jusqu'où l'interopérabilité est-elle nécessaire?Lars G. Svensson
 
Authority Control and Semantic Interoperability
Authority Control and Semantic InteroperabilityAuthority Control and Semantic Interoperability
Authority Control and Semantic InteroperabilityLars G. Svensson
 
BIBFRAME: Libraries can lead Linked Data
BIBFRAME: Libraries can lead Linked DataBIBFRAME: Libraries can lead Linked Data
BIBFRAME: Libraries can lead Linked DataLars G. Svensson
 
LOAD–Linked Open Antipodal Data
LOAD–Linked Open Antipodal DataLOAD–Linked Open Antipodal Data
LOAD–Linked Open Antipodal DataLars G. Svensson
 
Linked data in the German National Library at the OCLC IFLA round table 2013
Linked data in the German National Library at the OCLC IFLA round table 2013Linked data in the German National Library at the OCLC IFLA round table 2013
Linked data in the German National Library at the OCLC IFLA round table 2013Lars G. Svensson
 
Rich Data? Poor Data? Depends on...
Rich Data? Poor Data? Depends on...Rich Data? Poor Data? Depends on...
Rich Data? Poor Data? Depends on...Lars G. Svensson
 
Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)
Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)
Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)Lars G. Svensson
 
Licensing library and authority data under CC0
Licensing library and authority data under CC0Licensing library and authority data under CC0
Licensing library and authority data under CC0Lars G. Svensson
 
Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?
Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?
Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?Lars G. Svensson
 
Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...
Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...
Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...Lars G. Svensson
 
Der Linked Data Service der Deutschen Nationalbibliothek
Der Linked Data Service der Deutschen NationalbibliothekDer Linked Data Service der Deutschen Nationalbibliothek
Der Linked Data Service der Deutschen NationalbibliothekLars G. Svensson
 
Linked data activities in the Deutsche Nationalbibliothek
Linked data activities in the Deutsche NationalbibliothekLinked data activities in the Deutsche Nationalbibliothek
Linked data activities in the Deutsche NationalbibliothekLars G. Svensson
 
The Deutsche Nationalbibliografie as linked open data
The Deutsche Nationalbibliografie as linked open dataThe Deutsche Nationalbibliografie as linked open data
The Deutsche Nationalbibliografie as linked open dataLars G. Svensson
 

More from Lars G. Svensson (20)

Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...
Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...
Interoperability and Standards : Thoughts on (bibliographic) Data Exchange af...
 
IFLA LIDASIG Open Session 2017: Introduction to Linked Data
IFLA LIDASIG Open Session 2017: Introduction to Linked DataIFLA LIDASIG Open Session 2017: Introduction to Linked Data
IFLA LIDASIG Open Session 2017: Introduction to Linked Data
 
Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...
Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...
Towards an Authoritative Global Data Infrastructure: Connecting Libraries wit...
 
Relations matter: Maintaining and Publishing Links in Library Metadata
Relations matter: Maintaining and Publishing Links in Library Metadata Relations matter: Maintaining and Publishing Links in Library Metadata
Relations matter: Maintaining and Publishing Links in Library Metadata
 
Our Standards vs Their Standards
Our Standards vs Their StandardsOur Standards vs Their Standards
Our Standards vs Their Standards
 
Dewey Basics for Mapping
Dewey Basics for MappingDewey Basics for Mapping
Dewey Basics for Mapping
 
Bibliotheksdatenpublikation und linked data
Bibliotheksdatenpublikation und linked dataBibliotheksdatenpublikation und linked data
Bibliotheksdatenpublikation und linked data
 
Jusqu'où l'interopérabilité est-elle nécessaire?
Jusqu'où l'interopérabilité est-elle nécessaire?Jusqu'où l'interopérabilité est-elle nécessaire?
Jusqu'où l'interopérabilité est-elle nécessaire?
 
Authority Control and Semantic Interoperability
Authority Control and Semantic InteroperabilityAuthority Control and Semantic Interoperability
Authority Control and Semantic Interoperability
 
BIBFRAME: Libraries can lead Linked Data
BIBFRAME: Libraries can lead Linked DataBIBFRAME: Libraries can lead Linked Data
BIBFRAME: Libraries can lead Linked Data
 
LOAD–Linked Open Antipodal Data
LOAD–Linked Open Antipodal DataLOAD–Linked Open Antipodal Data
LOAD–Linked Open Antipodal Data
 
Linked data in the German National Library at the OCLC IFLA round table 2013
Linked data in the German National Library at the OCLC IFLA round table 2013Linked data in the German National Library at the OCLC IFLA round table 2013
Linked data in the German National Library at the OCLC IFLA round table 2013
 
Rich Data? Poor Data? Depends on...
Rich Data? Poor Data? Depends on...Rich Data? Poor Data? Depends on...
Rich Data? Poor Data? Depends on...
 
Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)
Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)
Linked Data in der Deutschen Nationalbibliothek (und auch anderswo...)
 
Licensing library and authority data under CC0
Licensing library and authority data under CC0Licensing library and authority data under CC0
Licensing library and authority data under CC0
 
Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?
Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?
Features for the future: What Might the Dewey Ecosystem Look Like in Ten Years?
 
Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...
Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...
Aggregierte Präsentation ausgehend von der GND: Culturegraph Authorities, GND...
 
Der Linked Data Service der Deutschen Nationalbibliothek
Der Linked Data Service der Deutschen NationalbibliothekDer Linked Data Service der Deutschen Nationalbibliothek
Der Linked Data Service der Deutschen Nationalbibliothek
 
Linked data activities in the Deutsche Nationalbibliothek
Linked data activities in the Deutsche NationalbibliothekLinked data activities in the Deutsche Nationalbibliothek
Linked data activities in the Deutsche Nationalbibliothek
 
The Deutsche Nationalbibliografie as linked open data
The Deutsche Nationalbibliografie as linked open dataThe Deutsche Nationalbibliografie as linked open data
The Deutsche Nationalbibliografie as linked open data
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

An http Header for Metadata Schema Negotiation

  • 1. An http Header for Metadata Schema Negotiation Lars G. Svensson | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 20161
  • 2. 2 Why is Profile Negotiation Necessary? | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 PhotobyEricKilby(CCBY-SA):https://flic.kr/p/6qrXw3 Photobymario(CCBY):https://flic.kr/p/ceSRwU The profile you expected The profile you got
  • 3. 3 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 – Profile in Accept-/Content-Type-headers (RFC 7231) – Link-header with rel=“profile” (RFC 6906) – Link-header with profile-parameter (RFC 5988) – Prefer-/Preference-Applied-headers (RFC 7240) – Accept-Schema-/Schema-headers (yet to be specified) I have looked at five options
  • 4. 4 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 GET /some/resource HTTP/1.1 Accept: text/turtle;q=0.9;profile=”urn:example:profile-1”, text/turtle;q=0.7;profile=”urn:example:profile-2” HTTP/1.1 200 OK Content-Type: text/turtle; profile=”urn:example:profile-2” Profile in Accept-/Content-Type-headers (RFC 7231)
  • 5. 5 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 HEAD /some/other/resource HTTP/1.1 Accept: text/turtle;q=0.9,application/rdf+xml;q=0.5 Link: <http://example.com/profile-1>; rel=”profile” HTTP/1.1 200 OK Content-type: text/turtle Link: <http://example.com/profile-1>; rel=”profile” Link-header with rel=“profile” (RFC 6906)
  • 6. | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 GET /another/thing HTTP/1.1 Accept: application/xml Link: <urn:example:profiles:schema-2>; rel=”profile” HTTP/1.1 200 OK Link: <http://example.org/another/thing>; rel=”self”; type=”application/xml” profile=”urn:example:profiles:schema-2” Link-header (RFC 5988 with new parameter “profile”) 6
  • 7. 7 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 HEAD /this/or/that HTTP/1.1 Accept: application/xml Prefer: profile=<urn:example:some:schema> HTTP/1.1 200 OK Content-Type: application/xml Preference-Applied: profile=<urn:example:some:schema> Prefer- and Preference-Applied-headers
  • 8. 8 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 GET /final/resource Accept: application/rdf+xml; q=0.9, text/turtle; q=0.5 Accept-Schema: <http://example.org/shacl/shape-1>; q=0.9, <http://example.org/shacl/shape-2>; q=0.5 HTTP/1.1 200 OK Content-Type: application/rdf+xml Schema: <http://example.org/shacl/shape-2> Accept-Schema- and Schema-headers
  • 9. 9 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 Pro Con Accept/Content-Type + Profile  No header registration necessary  Requires registration of profile parameter for each content-type  q-value only available for each combination of content-type and profile Link: rel=”profile” (RFC 6906)  No header, parameter or relation type registration necessary  q-values not supported  does not support multiple combinations of namespace+profile Link: profile=”…” (RFC 5988)  No header registration necessary  q-values not supported  different use in request and response  does not support multiple combinations of namespace+profile in request Now we can look at the consequences
  • 10. 10 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 Pro Con Prefer/Preference- Applied  No header registration necessary  Supports combination of multiple namespace+profile- combinations  q-values not supported  not clear if absence of “Preference-Applied” was because server does not understand “Prefer” or because it did not honour the preference stated  requires registration of “profile” preference Accept- Schema/Schema  Supports q-values  fits nicely into content negotiation framework  supports combination of multiple namespace+profile- combinations   Requires registration of new http-headers … and more consequences
  • 11. 11 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 – None of the options is perfect (features vs work) – In order to perform proper content negotiation, we need q- values – In any case we need to figure out, how to deal with multiple profiles and with combinations of namespaces and schemas My recommendation is a new header
  • 12. 12 | 12 | An http Header for Metadata Schema Negotiation | Dcember 01, 2016 And now I look forward to the discussion! Photobystevensim(CCBY-SA):https://flic.kr/p/8AnKhp